{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "# Artifacts with GPT-4o using Portkey"
      ],
      "metadata": {
        "id": "Uxsc0IoBEbnS"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1-CyvKS3JlhkN-rV88AdZSdg5a5V7stzs?usp=sharing)"
      ],
      "metadata": {
        "id": "nJ6TpzZ_Dcdz"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "<h1 align=\"center\">\n",
        "  <a href=\"https://portkey.ai\">\n",
        "    <img width=\"300\" src=\"https://analyticsindiamag.com/wp-content/uploads/2023/08/Logo-on-white-background.png\" alt=\"portkey\">\n",
        "  </a>\n",
        "</h1>"
      ],
      "metadata": {
        "id": "fmhDqgPglA9T"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "MmSOyeovkbZb",
        "outputId": "c60179de-473f-4ff5-d597-ee54f1c70b64"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m405.9/405.9 kB\u001b[0m \u001b[31m2.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m328.5/328.5 kB\u001b[0m \u001b[31m9.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m75.6/75.6 kB\u001b[0m \u001b[31m3.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.7/12.7 MB\u001b[0m \u001b[31m13.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m102.8/102.8 kB\u001b[0m \u001b[31m2.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m137.6/137.6 kB\u001b[0m \u001b[31m6.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m130.2/130.2 kB\u001b[0m \u001b[31m2.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.9/77.9 kB\u001b[0m \u001b[31m5.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m4.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25h"
          ]
        }
      ],
      "source": [
        "!pip install -qU portkey-ai openai e2b_code_interpreter\n"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Get your API keys or save them to .env file.\n",
        "import os\n",
        "from google.colab import userdata\n",
        "\n",
        "# TODO: Get your E2B API key from https://e2b.dev/docs\n",
        "E2B_API_KEY = userdata.get('E2B_API_KEY')\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "SYSTEM_PROMPT = \"\"\"\n",
        "## your job & context\n",
        "you are a python data scientist. you are given tasks to complete and you run python code to solve them.\n",
        "You DO NOT MAKE SYNTAX MISTAKES OR FORGET ANY IMPORTS\n",
        "- the python code runs in jupyter notebook.\n",
        "- every time you call `execute_python` tool, the python code is executed in a separate cell. it's okay to multiple calls to `execute_python`.\n",
        "- display visualizations using matplotlib or any other visualization library directly in the notebook. don't worry about saving the visualizations to a file.\n",
        "- you have access to the internet and can make api requests.\n",
        "- you also have access to the filesystem and can read/write files.\n",
        "- you can install any pip package (if it exists) if you need to but the usual packages for data analysis are already preinstalled.\n",
        "- you can run any python code you want, everything is running in a secure sandbox environment.\n",
        "\"\"\"\n",
        "\n",
        "tools = [\n",
        "    {\n",
        "        \"type\": \"function\",\n",
        "        \"function\": {\n",
        "          \"name\": \"execute_python\",\n",
        "          \"description\": \"Execute python code in a Jupyter notebook cell and returns any result, stdout, stderr, display_data, and error.\",\n",
        "          \"parameters\": {\n",
        "              \"type\": \"object\",\n",
        "              \"properties\": {\n",
        "                  \"code\": {\n",
        "                      \"type\": \"string\",\n",
        "                      \"description\": \"The python code to execute in a single cell.\"\n",
        "                  }\n",
        "              },\n",
        "              \"required\": [\"code\"]\n",
        "          }\n",
        "        },\n",
        "    }\n",
        "]"
      ],
      "metadata": {
        "id": "iWMO7iATmYTn"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "def code_interpret(e2b_code_interpreter, code):\n",
        "  print(\"Running code interpreter...\")\n",
        "  exec = e2b_code_interpreter.notebook.exec_cell(\n",
        "    code,\n",
        "    on_stderr=lambda stderr: print(\"[Code Interpreter]\", stderr),\n",
        "    on_stdout=lambda stdout: print(\"[Code Interpreter]\", stdout),\n",
        "    # You can also stream code execution results\n",
        "    # on_result=...\n",
        "  )\n",
        "\n",
        "  if exec.error:\n",
        "    print(\"[Code Interpreter ERROR]\", exec.error)\n",
        "  else:\n",
        "    return exec.results"
      ],
      "metadata": {
        "id": "VcObarUhm9HN"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "from openai import OpenAI\n",
        "from portkey_ai import PORTKEY_GATEWAY_URL, createHeaders\n",
        "from google.colab import userdata\n",
        "import json\n",
        "\n",
        "gateway = OpenAI(\n",
        "    api_key=userdata.get(\"OPENAI_API_KEY\"),\n",
        "    base_url=PORTKEY_GATEWAY_URL, # Or http://localhost:8787/v1 when running locally\n",
        "    default_headers=createHeaders(\n",
        "        provider=\"openai\",\n",
        "        api_key=userdata.get(\"PORTKEY_API_KEY\") # Grab from https://app.portkey.ai # Not needed when running locally\n",
        "    )\n",
        ")\n",
        "\n",
        "def chat(e2b_code_interpreter, user_message, base64_image = None, ):\n",
        "  print(f\"\\n{'='*50}\\nUser Message: {user_message}\\n{'='*50}\")\n",
        "\n",
        "  messages = [\n",
        "      {\n",
        "          \"role\": \"system\",\n",
        "          \"content\": SYSTEM_PROMPT,\n",
        "      },\n",
        "  ]\n",
        "\n",
        "  if base64_image is not None:\n",
        "    messages.append(\n",
        "        {\n",
        "          \"role\": \"user\",\n",
        "          \"content\": [\n",
        "            {\n",
        "              \"type\": \"text\",\n",
        "              \"text\": user_message,\n",
        "            },\n",
        "            {\n",
        "              \"type\": \"image_url\",\n",
        "              \"image_url\": {\n",
        "                \"url\": f\"data:image/jpeg;base64,{base64_image}\"\n",
        "              }\n",
        "            }\n",
        "          ]\n",
        "        }\n",
        "    )\n",
        "  else:\n",
        "    messages.append(\n",
        "        {\"role\": \"user\", \"content\": user_message},\n",
        "    )\n",
        "\n",
        "  response = gateway.chat.completions.create(\n",
        "    model=\"gpt-4o\",\n",
        "    messages=messages,\n",
        "    tools=tools,\n",
        "    tool_choice=\"auto\"\n",
        "  )\n",
        "  for choice in response.choices:\n",
        "    if choice.message.tool_calls and len(choice.message.tool_calls) > 0:\n",
        "      for tool_call in choice.message.tool_calls:\n",
        "        if tool_call.function.name == \"execute_python\":\n",
        "          if \"code\" in tool_call.function.arguments:\n",
        "            code = tool_call.function.arguments[\"code\"]\n",
        "          else:\n",
        "            code = tool_call.function.arguments\n",
        "          print(\"CODE TO RUN\")\n",
        "          print(code)\n",
        "          code_interpreter_results = code_interpret(e2b_code_interpreter, code)\n",
        "          return code_interpreter_results\n",
        "    else:\n",
        "      print(\"Answer:\", choice.message.content)"
      ],
      "metadata": {
        "id": "zYBSwUF7oVvX"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "# Example 1 :- distribution of salaries in the tech industry"
      ],
      "metadata": {
        "id": "DtyYCr59C96Z"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from e2b_code_interpreter import CodeInterpreter\n",
        "code_interpreter = CodeInterpreter(api_key=E2B_API_KEY)\n",
        "\n",
        "# 1. Ask GPT-4o to generate chart\n",
        "code_interpreter_results = chat(\n",
        "  code_interpreter,\n",
        "  \"Plot a chart visualizing the height distribution of men based on the data you know\",\n",
        ")\n",
        "print(code_interpreter_results)\n",
        "plot1 = code_interpreter_results[0]\n",
        "\n",
        "\n",
        "print(plot1.raw)\n",
        "plot1"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "ShQx9NdHoh_B",
        "outputId": "c1b7e55f-10dc-4d38-86e9-7e508842ae4f"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "==================================================\n",
            "User Message: Plot a chart visualizing the height distribution of men based on the data you know\n",
            "==================================================\n",
            "CODE TO RUN\n",
            "import numpy as np\n",
            "import matplotlib.pyplot as plt\n",
            "\n",
            "# Set mean and standard deviation\n",
            "mean_height = 69  # average height in inches\n",
            "std_dev_height = 3  # standard deviation in inches\n",
            "\n",
            "# Generate synthetic dataset\n",
            "np.random.seed(0)\n",
            "heights = np.random.normal(mean_height, std_dev_height, 1000)  # generate 1000 data points\n",
            "\n",
            "# Plotting the height distribution\n",
            "plt.figure(figsize=(10, 6))\n",
            "plt.hist(heights, bins=30, edgecolor='black', alpha=0.7)\n",
            "plt.title(\"Height Distribution of Men\")\n",
            "plt.xlabel(\"Height (inches)\")\n",
            "plt.ylabel(\"Frequency\")\n",
            "plt.grid(axis='y', linestyle='--', alpha=0.7)\n",
            "plt.show()\n",
            "Running code interpreter...\n",
            "[Result(<Figure size 1000x600 with 1 Axes>)]\n",
            "{'text/plain': '<Figure size 1000x600 with 1 Axes>', 'image/png': 'iVBORw0KGgoAAAANSUhEUgAAA0kAAAIjCAYAAADWYVDIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABaVklEQVR4nO3deXhU9fn+8ftMJhmSmJ0kgGGXXQUFQQoqKl9xqRXBuvITEbTuIlK3VgGXqqhItS51YatrLbi1xQ0RZREEAaWtrGEEsjAQyGTf5vz+wAxnSCbLZCYTwvt1XVyX+cyZZ55nzpwkt2fmxDBN0xQAAAAAQJJkC3cDAAAAANCSEJIAAAAAwIKQBAAAAAAWhCQAAAAAsCAkAQAAAIAFIQkAAAAALAhJAAAAAGBBSAIAAAAAC0ISAAAAAFgQkgCgBbruuuvUpUuXgO973HHHBbehAM2bN0+GYWjnzp0hf6wjn7OdO3fKMAw9/fTTIX9sSZo+fboMw2iWxwpUZWWl7rnnHnXs2FE2m02jR48Od0sA0CIRkgAgQNUBYO3atbXePmLECJ144onN3FXDFRcXa/r06frqq68atP1XX30lwzC8/xwOh9LT0zVixAj96U9/ksvlCktfzakl99YQc+bM0VNPPaXLLrtM8+fP11133eV32xEjRsgwDPXo0aPW2z///HPva+Ef//hHqFoGgLCwh7sBAEBNr776qjweT0gfo7i4WDNmzJB06Bfihrrjjjt02mmnqaqqSi6XSytXrtS0adM0a9Ys/f3vf9c555zj3fb//b//pyuvvFIOhyPkfYX7OfvjH/+o++67L6SP31Rffvmljj/+eD377LMN2r5Nmzbatm2b1qxZo8GDB/vc9uabb6pNmzYqLS0NRasAEFaEJABogSIjI8Pdgl9nnHGGLrvsMp+1jRs36rzzztPYsWP13//+V+3bt5ckRUREKCIiIqT9FBUVKTY2NuzPmd1ul93esn+s7t27V4mJiQ3evnv37qqsrNTbb7/tE5JKS0v1/vvv66KLLtLChQtD0CkAhBdvtwOAZvbGG29o4MCBio6OVnJysq688krt2rXLZ5vaPpO0f/9+/b//9/8UHx+vxMREjR8/Xhs3bpRhGJo3b16Nx9mzZ49Gjx6t4447TqmpqZo6daqqqqokHfq8TmpqqiRpxowZ3rdNTZ8+PaCZ+vfvr9mzZ+vgwYP6y1/+4l2v7TNJa9eu1ahRo9S2bVtFR0era9euuv766xvUV/XnrbZv364LL7xQcXFxuuaaa/w+Z9WeffZZde7cWdHR0TrrrLO0adMmn9tHjBhR61kra836eqvtM0mVlZV65JFH1L17dzkcDnXp0kUPPPCAysrKfLbr0qWLfv3rX2v58uUaPHiw2rRpo27dumnBggW1P+FHKCoq0t13362OHTvK4XCoV69eevrpp2Waprd3wzC0dOlS/ec///H23pC3DV511VV69913fc7SffzxxyouLtbll19e63327Nmj66+/Xunp6XI4HOrXr5/mzJnjs0312zf//ve/67HHHlNGRobatGmjc889V9u2bWvQ3AAQKi37f3kBwFEgPz9f+/btq7FeUVFRY+2xxx7Tgw8+qMsvv1yTJk2Sy+XS888/rzPPPFPr16/3+3/5PR6PLr74Yq1Zs0Y333yzevfurQ8//FDjx4+vdfuqqiqNGjVKQ4YM0dNPP60vvvhCzzzzjLp3766bb75Zqampeumll3TzzTfr0ksv1ZgxYyRJJ598csDPw2WXXaaJEyfqs88+02OPPVbrNnv37tV5552n1NRU3XfffUpMTNTOnTu1aNEiSWpQX5WVlRo1apSGDx+up59+WjExMXX2tWDBAhUUFOjWW29VaWmp/vznP+ucc87Rjz/+qPT09AbPF8hzNmnSJM2fP1+XXXaZ7r77bq1evVqPP/64/ve//+n999/32Xbbtm3e53D8+PGaM2eOrrvuOg0cOFD9+vXz+ximaeo3v/mNli5dqokTJ2rAgAH69NNP9fvf/1579uzRs88+q9TUVP3tb3/TY489psLCQj3++OOSpD59+tQ799VXX+39HFb1WynfeustnXvuuUpLS6uxfW5urk4//XQZhqHbbrtNqampWrx4sSZOnCi3263Jkyf7bP/EE0/IZrNp6tSpys/P18yZM3XNNddo9erV9fYGACFjAgACMnfuXFNSnf/69evn3X7nzp1mRESE+dhjj/nU+fHHH0273e6zPn78eLNz587erxcuXGhKMmfPnu1dq6qqMs855xxTkjl37lyf+0oyH374YZ/HOeWUU8yBAwd6v3a5XKYkc9q0aQ2ad+nSpaYk87333vO7Tf/+/c2kpCTv19XPUWZmpmmapvn++++bkszvvvvOb426+qqe7b777qv1NutzlpmZaUoyo6Ojzd27d3vXV69ebUoy77rrLu/aWWedZZ511ln11qyrt2nTppnWH6sbNmwwJZmTJk3y2W7q1KmmJPPLL7/0rnXu3NmUZH799dfetb1795oOh8O8++67azyW1QcffGBKMh999FGf9csuu8w0DMPctm2bz5zW12RdrNsOGjTInDhxommapnngwAEzKirKnD9/fq2viYkTJ5rt27c39+3b51PvyiuvNBMSEszi4mLTNA+/nvr06WOWlZV5t/vzn/9sSjJ//PHHBvUJAKHA2+0AoIleeOEFff755zX+HXmGYdGiRfJ4PLr88su1b98+77927dqpR48eWrp0qd/H+OSTTxQZGakbbrjBu2az2XTrrbf6vc9NN93k8/UZZ5yhHTt2BDhlwxx33HEqKCjwe3v1mbJ//vOftZ5pa6ibb765wduOHj1axx9/vPfrwYMHa8iQIfr3v/8d8OM3RHX9KVOm+KzffffdkqR//etfPut9+/bVGWec4f06NTVVvXr1qnef/fvf/1ZERITuuOOOGo9jmqYWL14c8AzVrr76ai1atEjl5eX6xz/+oYiICF166aU1tjNNUwsXLtTFF18s0zR9XuejRo1Sfn6+vv/+e5/7TJgwQVFRUd6vq5+DUL9WAaAuvN0OAJpo8ODBGjRoUI31pKQkn7fhbd26VaZp+r2kcl0XHnA6nWrfvn2Nt5adcMIJtW7fpk0b7+dnrP0cOHDA72MEQ2FhoeLi4vzeftZZZ2ns2LGaMWOGnn32WY0YMUKjR4/W1Vdf3eAr4NntdmVkZDS4p9qe7549e+rvf/97g2sEwul0ymaz1dhH7dq1U2JiopxOp896p06datRoyD5zOp3q0KFDjee9+q10Rz5OIK688kpNnTpVixcv1ptvvqlf//rXte5nl8ulgwcP6pVXXtErr7xSa629e/f6fH3k3ElJSZIU8tcqANSFkAQAzcTj8cgwDC1evLjWK74F8w/AhvqKcrWpqKjQli1b6vzbUNV/U+fbb7/Vxx9/rE8//VTXX3+9nnnmGX377bcNeg4cDodstuC+EcIwDO9FDqyqL3TR1NoN4W+f1dZXc2vfvr1GjBihZ555RitWrPB7RbvqizuMGzfO7+fljjzD2pLnBnDsIiQBQDPp3r27TNNU165d1bNnz0bdt3Pnzlq6dKmKi4t9ziY15SpgDf3lvaH+8Y9/qKSkRKNGjap329NPP12nn366HnvsMb311lu65ppr9M4772jSpElB72vr1q011rZs2eJzJbykpKRa39515FmYxvTWuXNneTwebd261ecCCbm5uTp48KA6d+7c4Fr1Pc4XX3yhgoICn7M7P/30k/f2YLj66qs1adIkJSYm6sILL6x1m9TUVMXFxamqqkojR44MyuMCQDjwmSQAaCZjxoxRRESEZsyYUeP/kpumqf379/u976hRo1RRUaFXX33Vu+bxePTCCy8E3E912Dp48GDANapt3LhRkydPVlJSUp2fkzpw4ECN2QcMGCBJ3stiB7MvSfrggw+0Z88e79dr1qzR6tWrdcEFF3jXunfvrp9++kkul8u7tnHjRq1YscKnVmN6qw4Ss2fP9lmfNWuWJOmiiy5q1Bx1PU5VVZXPpdelQ5c9NwzDZ86muOyyyzRt2jS9+OKLPp8hsoqIiNDYsWO1cOHCGpdZl+Tz/AJAS8aZJABoJt27d9ejjz6q+++/Xzt37tTo0aMVFxenzMxMvf/++7rxxhs1derUWu87evRoDR48WHfffbe2bdum3r1766OPPlJeXp6kwM4KRUdHq2/fvnr33XfVs2dPJScn68QTT6zz7XKS9M0336i0tFRVVVXav3+/VqxYoY8++kgJCQl6//331a5dO7/3nT9/vl588UVdeuml6t69uwoKCvTqq68qPj7eGyoC7cufE044QcOHD9fNN9+ssrIyzZ49WykpKbrnnnu821x//fWaNWuWRo0apYkTJ2rv3r16+eWX1a9fP7nd7oCes/79+2v8+PF65ZVXdPDgQZ111llas2aN5s+fr9GjR+vss88OaJ4jXXzxxTr77LP1hz/8QTt37lT//v312Wef6cMPP9TkyZPVvXv3oDxOQkJCg/6O1hNPPKGlS5dqyJAhuuGGG9S3b1/l5eXp+++/1xdffOF9zQJAS0ZIAoBmdN9996lnz5569tlnNWPGDElSx44ddd555+k3v/mN3/tFREToX//6l+68807Nnz9fNptNl156qaZNm6Zhw4apTZs2AfXz2muv6fbbb9ddd92l8vJyTZs2rd4w8txzz0k6dKGJxMRE9enTRzNmzNANN9xQ42IRR6oOCu+8845yc3OVkJCgwYMH680331TXrl2b1Jc/1157rWw2m2bPnq29e/dq8ODB+stf/qL2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QQlAUBGSAABASFSUlchj2NX29DFK6dA56PWL8nLlWrVQbrebkAQgqAhJAAAgpGKSUhWflhGS2q6QVAVwrOPCDQAAAABgQUgCAAAAAAtCEgAAAABYBBSSduzYEew+AAAAAKBFCCgknXDCCTr77LP1xhtvqLS0NNg9AQAAAEDYBBSSvv/+e5188smaMmWK2rVrp9/97ndas2ZNsHsDAAAAgGYXUEgaMGCA/vznPysrK0tz5sxRdna2hg8frhNPPFGzZs2Sy8UFOQEAAAAcnZp04Qa73a4xY8bovffe05NPPqlt27Zp6tSp6tixo6699lplZ2cHq08AAAAAaBZNCklr167VLbfcovbt22vWrFmaOnWqtm/frs8//1xZWVm65JJLgtUnAAAAADQLeyB3mjVrlubOnavNmzfrwgsv1IIFC3ThhRfKZjuUubp27ap58+apS5cuwewVAAAAAEIuoJD00ksv6frrr9d1112n9u3b17pNWlqaXn/99SY1BwAAAADNLaCQtHXr1nq3iYqK0vjx4wMpDwAAAABhE9BnkubOnav33nuvxvp7772n+fPnN7kpAAAAAAiXgELS448/rrZt29ZYT0tL05/+9KcmNwUAAAAA4RJQSPr555/VtWvXGuudO3fWzz//3OSmAAAAACBcAgpJaWlp+uGHH2qsb9y4USkpKU1uCgAAAADCJaALN1x11VW64447FBcXpzPPPFOStGzZMt1555268sorg9ogAACAPxXl5XI6nSGpHR8fr9TU1JDUBtCyBRSSHnnkEe3cuVPnnnuu7PZDJTwej6699lo+kwQAAJpFWWG+dmbu0OQHpsvhcAS9fnJcjN6Y+xpBCTgGBRSSoqKi9O677+qRRx7Rxo0bFR0drZNOOkmdO3cOdn8AAAC1qigrkcewq+3pY5TSIbi/gxTl5cq1aqHcbjchCTgGBRSSqvXs2VM9e/YMVi8AAACNFpOUqvi0jKDXdQW9IoCjRUAhqaqqSvPmzdOSJUu0d+9eeTwen9u//PLLoDQHAAAAAM0toJB05513at68ebrooot04oknyjCMYPcFAAAAAGERUEh655139Pe//10XXnhhsPsBAAAAgLAK6O8kRUVF6YQTTgh2LwAAAAAQdgGFpLvvvlt//vOfZZpmsPsBAAAAgLAK6O12y5cv19KlS7V48WL169dPkZGRPrcvWrQoKM0BAAAAQHMLKCQlJibq0ksvDXYvAAAAABB2AYWkuXPnBrsPAAAAAGgRAvpMkiRVVlbqiy++0F//+lcVFBRIkrKyslRYWBi05gAAAACguQV0JsnpdOr888/Xzz//rLKyMv3f//2f4uLi9OSTT6qsrEwvv/xysPsEAAAAgGYR0JmkO++8U4MGDdKBAwcUHR3tXb/00ku1ZMmSoDUHAAAAAM0toDNJ33zzjVauXKmoqCif9S5dumjPnj1BaQwAAAAAwiGgM0kej0dVVVU11nfv3q24uLgmNwUAAAAA4RJQSDrvvPM0e/Zs79eGYaiwsFDTpk3ThRdeGKzeAAAAAKDZBfR2u2eeeUajRo1S3759VVpaqquvvlpbt25V27Zt9fbbbwe7RwAAAABoNgGFpIyMDG3cuFHvvPOOfvjhBxUWFmrixIm65pprfC7kAAAAAABHm4BCkiTZ7XaNGzcumL0AAAAAQNgFFJIWLFhQ5+3XXnttQM0AAAAAQLgFFJLuvPNOn68rKipUXFysqKgoxcTEEJIAAAAAHLUCurrdgQMHfP4VFhZq8+bNGj58OBduAAAAAHBUCygk1aZHjx564oknapxlAgAAAICjSdBCknToYg5ZWVnBLAkAAAAAzSqgzyR99NFHPl+bpqns7Gz95S9/0bBhw4LSGAAAAACEQ0AhafTo0T5fG4ah1NRUnXPOOXrmmWeC0RcAAAAAhEVAIcnj8QS7DwAAAABoEYL6mSQAAAAAONoFdCZpypQpDd521qxZgTwEAISVy+WS2+0Oel2n06nKisqg1wUAAMETUEhav3691q9fr4qKCvXq1UuStGXLFkVEROjUU0/1bmcYRnC6BIBm5HK5NG7CJOUVFAe9dmlJsXbvyVanioqg1wYAAMERUEi6+OKLFRcXp/nz5yspKUnSoT8wO2HCBJ1xxhm6++67g9okADQnt9utvIJipQ4dq9jk9KDW3rt9k5y75qiqkpAEAEBLFVBIeuaZZ/TZZ595A5IkJSUl6dFHH9V5551HSALQKsQmpys+LSOoNQv35wS1HgAACL6ALtzgdrvlcrlqrLtcLhUUFDS5KQAAAAAIl4BC0qWXXqoJEyZo0aJF2r17t3bv3q2FCxdq4sSJGjNmTLB7BAAAAIBmE9Db7V5++WVNnTpVV199tSp++fCx3W7XxIkT9dRTTwW1QQAAAABoTgGFpJiYGL344ot66qmntH37dklS9+7dFRsbG9TmAAAAAKC5NemPyWZnZys7O1s9evRQbGysTNMMVl8AAAAAEBYBhaT9+/fr3HPPVc+ePXXhhRcqOztbkjRx4kSubAcAAADgqBZQSLrrrrsUGRmpn3/+WTExMd71K664Qp988knQmgMAAACA5hbQZ5I+++wzffrpp8rI8P37IT169JDT6QxKYwAAAAAQDgGdSSoqKvI5g1QtLy9PDoejyU0BAAAAQLgEFJLOOOMMLViwwPu1YRjyeDyaOXOmzj777KA1BwAAAADNLaC3282cOVPnnnuu1q5dq/Lyct1zzz36z3/+o7y8PK1YsSLYPQIAAABAswnoTNKJJ56oLVu2aPjw4brkkktUVFSkMWPGaP369erevXuwewQAAACAZtPoM0kVFRU6//zz9fLLL+sPf/hDKHoCAAAAgLBp9JmkyMhI/fDDD0Fv5IknnpBhGJo8ebJ3rbS0VLfeeqtSUlJ03HHHaezYscrNzQ36YwMAAABAtYDebjdu3Di9/vrrQWviu+++01//+ledfPLJPut33XWXPv74Y7333ntatmyZsrKyNGbMmKA9LgAAAAAcKaALN1RWVmrOnDn64osvNHDgQMXGxvrcPmvWrAbXKiws1DXXXKNXX31Vjz76qHc9Pz9fr7/+ut566y2dc845kqS5c+eqT58++vbbb3X66acH0joAAAAA1KlRIWnHjh3q0qWLNm3apFNPPVWStGXLFp9tDMNoVAO33nqrLrroIo0cOdInJK1bt04VFRUaOXKkd613797q1KmTVq1a5TcklZWVqayszPu12+2WdCjYVVZWSpJsNptsNps8Ho88Ho932+r1qqoqmaZZ73pERIQMw/DWta5LUlVVVYPW7Xa7TNP0WTcMQxERETV69LfOTMzETMGbqfq/bZIiZFmXIVOGbDJlyKx3vUqGJMOnht1meL9PWtcPby9FWGocWrdJMn3WTRnyyJAhUzbLesQv34INP70fuX1jZgqs94bP5K93f7M2Zia7zZDNdujNEw3ZT42dyW4zGtV7Y2ay2wxF+Om9Ma+9+nqXatuvDX/t1bZutxneY7Uprz1/M4XyeIowDn+fORa+7zETMx0rMx15uz+NCkk9evRQdna2li5dKkm64oor9Nxzzyk9Pb0xZbzeeecdff/99/ruu+9q3JaTk6Oo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dp11OVYC15B9Yt0X2dnZmjNnjgzD0NixY+uszbESmO+++87nefv8888lSb/97W8lSXfddZc+/vhjvffee1q2bJmysrI0ZsyYOmsG8jMIh9W1T7KyspSVlaWnn35amzZt0rx58/TJJ59o4sSJ9dZt7Pc6HFbfcSJJN9xwg882M2fOrLMmx0nT1LVPOnbsWONnyYwZM3TcccfpggsuqLNusx8nJoLm3nvvNYcPH+73do/HY7Zr18586qmnvGsHDx40HQ6H+fbbb/u93+DBg81bb73V+3VVVZXZoUMH8/HHHw9O461YffukNmvWrDElmU6n0+8206ZNM/v379/E7o5dDdkv48ePNy+55JJG1eVYCVwgx8oll1xinnPOOXVuw7ESPHfeeafZvXt30+PxmAcPHjQjIyPN9957z3v7//73P1OSuWrVqlrvH+jPIPhn3Se1+fvf/25GRUWZFRUVfmsE8r0O/h25T8466yzzzjvvbPD9OU6Cr77jZMCAAeb1119fZ41wHCecSQqijz76SIMGDdJvf/tbpaWl6ZRTTtGrr77qvT0zM1M5OTkaOXKkdy0hIUFDhgzRqlWraq1ZXl6udevW+dzHZrNp5MiRfu+Dw+rbJ7XJz8+XYRhKTEysc7utW7eqQ4cO6tatm6655hr9/PPPQey8dWvofvnqq6+UlpamXr166eabb9b+/fv91uRYaZrGHiu5ubn617/+1aD/S86x0nTl5eV64403dP3118swDK1bt04VFRU+r/fevXurU6dOfl/vgfwMgn9H7pPa5OfnKz4+Xna7vc5ajfleB//87ZM333xTbdu21Yknnqj7779fxcXFfmtwnARXfcfJunXrtGHDhgb9LGnu44SQFEQ7duzQSy+9pB49eujTTz/VzTffrDvuuEPz58+XJOXk5EiS0tPTfe6Xnp7uve1I+/btU1VVVaPug8Pq2ydHKi0t1b333qurrrpK8fHxfusOGTLE+1aKl156SZmZmTrjjDNUUFAQqlFalYbsl/PPP18LFizQkiVL9OSTT2rZsmW64IILVFVVVWtNjpWmaeyxMn/+fMXFxdX79i6OleD44IMPdPDgQV133XWSDv08iYqKqvE/c+p6vQfyMwj+HblPjrRv3z498sgjuvHGG+us09jvdfCvtn1y9dVX64033tDSpUt1//33629/+5vGjRvntwbHSXDVd5y8/vrr6tOnj371q1/VWScsx0mznrdq5SIjI82hQ4f6rN1+++3m6aefbpqmaa5YscKUZGZlZfls89vf/ta8/PLLa625Z88eU5K5cuVKn/Xf//735uDBg4PYfetU3z6xKi8vNy+++GLzlFNOMfPz8xv1OAcOHDDj4+PN1157rUn9Hisas1+qbd++3ZRkfvHFF7XezrHSNI3dJ7169TJvu+22Rj8Ox0pgzjvvPPPXv/619+s333zTjIqKqrHdaaedZt5zzz211gjkZxD8O3KfWOXn55uDBw82zz//fLO8vLxRdev7Xgf/6ton1ZYsWWJKMrdt21br7RwnwVXXPikuLjYTEhLMp59+utF1m+M44UxSELVv3159+/b1WevTp4/3rSXt2rWTpBpXH8rNzfXedqS2bdsqIiKiUffBYfXtk2oVFRW6/PLL5XQ69fnnn9d5Fqk2iYmJ6tmzp7Zt29bkno8FDd0vVt26dVPbtm39PsccK03TmH3yzTffaPPmzZo0aVKjH4djpfGcTqe++OILn+e7Xbt2Ki8v18GDB322rev1HsjPINSutn1SraCgQOeff77i4uL0/vvvKzIyslG16/teh9rVtU+shgwZIkl+n1+Ok+Cpb5/84x//UHFxsa699tpG126O44SQFETDhg3T5s2bfda2bNmizp07S5K6du2qdu3aacmSJd7b3W63Vq9eraFDh9ZaMyoqSgMHDvS5j8fj0ZIlS/zeB4fVt0+kwwFp69at+uKLL5SSktLoxyksLNT27dvVvn37Jvd8LGjIfjnS7t27tX//fr/PMcdK0zRmn7z++usaOHCg+vfv3+jH4VhpvLlz5yotLU0XXXSRd23gwIGKjIz0eb1v3rxZP//8s9/XeyA/g1C72vaJdOj5PO+88xQVFaWPPvpIbdq0aXTt+r7XoXb+9smRNmzYIEl+n1+Ok+Cpb5+8/vrr+s1vfqPU1NRG126W4yRk56iOQWvWrDHtdrv52GOPmVu3bjXffPNNMyYmxnzjjTe82zzxxBNmYmKi+eGHH5o//PCDeckll5hdu3Y1S0pKvNucc8455vPPP+/9+p133jEdDoc5b94887///a954403momJiWZOTk6zznc0qm+flJeXm7/5zW/MjIwMc8OGDWZ2drb3X1lZmbfOkfvk7rvvNr/66iszMzPTXLFihTly5Eizbdu25t69e5t9xqNRffuloKDAnDp1qrlq1SozMzPT/OKLL8xTTz3V7NGjh1laWuqtw7ESPA35/mWah95GFBMTY7700ku11uFYCa6qqiqzU6dO5r333lvjtptuusns1KmT+eWXX5pr1641hw4dWuMtk7169TIXLVrk/bohP4NQN3/7JD8/3xwyZIh50kknmdu2bfP5eVJZWendzrpPGvq9DnXzt0+2bdtmPvzww+batWvNzMxM88MPPzS7detmnnnmmT7bcZwEX13fu0zTNLdu3WoahmEuXry41ttbwnFCSAqyjz/+2DzxxBNNh8Nh9u7d23zllVd8bvd4POaDDz5opqenmw6Hwzz33HPNzZs3+2zTuXNnc9q0aT5rzz//vNmpUyczKirKHDx4sPntt9+GepRWo659kpmZaUqq9d/SpUu92x25T6644gqzffv2ZlRUlHn88cebV1xxhd/3N6N2de2X4uJi87zzzjNTU1PNyMhIs3PnzuYNN9xQI+xwrARXfd+/TNM0//rXv5rR0dHmwYMHa63BsRJcn376qSmpxs8J0zTNkpIS85ZbbjGTkpLMmJgY89JLLzWzs7N9tpFkzp071/t1Q34GoW7+9snSpUv9/jzJzMz0bmfdJw39Xoe6+dsnP//8s3nmmWeaycnJpsPhME844QTz97//fY3PHXOcBF9d37tM0zTvv/9+s2PHjmZVVVWtt7eE48T4pREAAAAAgPhMEgAAAAD4ICQBAAAAgAUhCQAAAAAsCEkAAAAAYEFIAgAAAAALQhIAAAAAWBCSAAAAAMCCkAQAAAAAFoQkAECz6NKli2bPnt3g7Xfu3CnDMLRhw4ag9XDmmWfqrbfe8n5tGIY++OCDoNUfMWKEJk+eHLR6R/rkk080YMAAeTyekD0GAICQBACow3XXXafRo0fXWP/qq69kGIYOHjzY4FrfffedbrzxxuA1J2nevHlKTExs0LYfffSRcnNzdeWVV3rXsrOzdcEFFwS1p1A6//zzFRkZqTfffDPcrQBAq0ZIAgA0i9TUVMXExITt8Z977jlNmDBBNtvhH33t2rWTw+EIW0+BuO666/Tcc8+Fuw0AaNUISQCAoFi+fLnOOOMMRUdHq2PHjrrjjjtUVFTkvf3It9v99NNPGj58uNq0aaO+ffvqiy++qPXtbzt27NDZZ5+tmJgY9e/fX6tWrZJ06GzWhAkTlJ+fL8MwZBiGpk+fXmtvLpdLX375pS6++GKfdevjVb+9b9GiRbU+XrUVK1ZoxIgRiomJUVJSkkaNGqUDBw54b/d4PLrnnnuUnJysdu3a1ejp4MGDmjRpklJTUxUfH69zzjlHGzdu9N6+ceNGnX322YqLi1N8fLwGDhyotWvXem+/+OKLtXbtWm3fvr3WWQEATUdIAgA02fbt23X++edr7Nix+uGHH/Tuu+9q+fLluu2222rdvqqqSqNHj1ZMTIxWr16tV155RX/4wx9q3fYPf/iDpk6dqg0bNqhnz5666qqrVFlZqV/96leaPXu24uPjlZ2drezsbE2dOrXWGsuXL1dMTIz69OlT7yz+Hk+SNmzYoHPPPVd9+/bVqlWrtHz5cl188cWqqqry3n/+/PmKjY3V6tWrNXPmTD388MP6/PPPvbf/9re/1d69e7V48WKtW7dOp556qs4991zl5eVJkq655hplZGTou+++07p163TfffcpMjLSe/9OnTopPT1d33zzTb2zAAACZAIA4Mf48ePNiIgIMzY21udfmzZtTEnmgQMHTNM0zYkTJ5o33nijz32/+eYb02azmSUlJaZpmmbnzp3NZ5991jRN01y8eLFpt9vN7Oxs7/aff/65Kcl8//33TdM0zczMTFOS+dprr3m3+c9//mNKMv/3v/+Zpmmac+fONRMSEuqd49lnnzW7detWY72xj3fVVVeZw4YN8/s4Z511ljl8+HCftdNOO8289957vc9JfHy8WVpa6rNN9+7dzb/+9a+maZpmXFycOW/evDrnOeWUU8zp06fXuQ0AIHCcSQIA1Onss8/Whg0bfP699tprPtts3LhR8+bN03HHHef9N2rUKHk8HmVmZtaouXnzZnXs2FHt2rXzrg0ePLjWxz/55JO9/92+fXtJ0t69exs1Q0lJidq0adOgbet6vOozSQ29f3WN6vtv3LhRhYWFSklJ8XmuMjMzvW+fmzJliiZNmqSRI0fqiSeeqPVtddHR0SouLm7QPACAxrOHuwEAQMsWGxurE044wWdt9+7dPl8XFhbqd7/7ne64444a9+/UqVOTHt/6VjPDMCSp0ZfAbtu2rc/nhgJ9vOjo6Ebdv7pG9f0LCwvVvn17ffXVVzXuV32VvunTp+vqq6/Wv/71Ly1evFjTpk3TO++8o0svvdS7bV5enlJTUxs0DwCg8QhJAIAmO/XUU/Xf//63Rpjyp1evXtq1a5dyc3OVnp4u6dAlwhsrKirK5/NA/pxyyinKycnRgQMHlJSU1OjHqXbyySdryZIlmjFjRkD3P/XUU5WTkyO73a4uXbr43a5nz57q2bOn7rrrLl111VWaO3euNySVlpZq+/btOuWUUwLqAQBQP95uBwBosnvvvVcrV67Ubbfdpg0bNmjr1q368MMP/V644f/+7//UvXt3jR8/Xj/88INWrFihP/7xj5IOn71piC5duqiwsFBLlizRvn37/L4F7ZRTTlHbtm21YsWKxg9ncf/99+u7777TLbfcoh9++EE//fSTXnrpJe3bt69B9x85cqSGDh2q0aNH67PPPtPOnTu1cuVK/eEPf9DatWtVUlKi2267TV999ZWcTqdWrFih7777zueCE99++60cDoeGDh3apFkAAP4RkgAATXbyySdr2bJl2rJli8444wydcsopeuihh9ShQ4dat4+IiNAHH3ygwsJCnXbaaZo0aZL36nYN/eyQJP3qV7/STTfdpCuuuEKpqamaOXOm38ebMGFCk/8Ia8+ePfXZZ59p48aNGjx4sIYOHaoPP/xQdnvD3phhGIb+/e9/68wzz9SECRPUs2dPXXnllXI6nUpPT1dERIT279+va6+9Vj179tTll1+uCy64wOfM1dtvv61rrrkmrH9zCgBaO8M0TTPcTQAAsGLFCg0fPlzbtm1T9+7dg14/JydH/fr10/fff6/OnTsHvX5z2Ldvn3r16qW1a9eqa9eu4W4HAFotQhIAICzef/99HXfccerRo4e2bdumO++8U0lJSVq+fHnIHvODDz5QSkqKzjjjjJA9RihV/xHZK664ItytAECrRkgCAITFggUL9Oijj+rnn39W27ZtNXLkSD3zzDNKSUkJd2sAgGMcIQkAAAAALLhwAwAAAABYEJIAAAAAwIKQBAAAAAAWhCQAAAAAsCAkAQAAAIAFIQkAAAAALAhJAAAAAGBBSAIAAAAAi/8PjflE/OKw8wcAAAAASUVORK5CYII='}\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Result(<Figure size 1000x600 with 1 Axes>)"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0kAAAIjCAYAAADWYVDIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABaVklEQVR4nO3deXhU9fn+8ftMJhmSmJ0kgGGXXQUFQQoqKl9xqRXBuvITEbTuIlK3VgGXqqhItS51YatrLbi1xQ0RZREEAaWtrGEEsjAQyGTf5vz+wAxnSCbLZCYTwvt1XVyX+cyZZ55nzpwkt2fmxDBN0xQAAAAAQJJkC3cDAAAAANCSEJIAAAAAwIKQBAAAAAAWhCQAAAAAsCAkAQAAAIAFIQkAAAAALAhJAAAAAGBBSAIAAAAAC0ISAAAAAFgQkgCgBbruuuvUpUuXgO973HHHBbehAM2bN0+GYWjnzp0hf6wjn7OdO3fKMAw9/fTTIX9sSZo+fboMw2iWxwpUZWWl7rnnHnXs2FE2m02jR48Od0sA0CIRkgAgQNUBYO3atbXePmLECJ144onN3FXDFRcXa/r06frqq68atP1XX30lwzC8/xwOh9LT0zVixAj96U9/ksvlCktfzakl99YQc+bM0VNPPaXLLrtM8+fP11133eV32xEjRsgwDPXo0aPW2z///HPva+Ef//hHqFoGgLCwh7sBAEBNr776qjweT0gfo7i4WDNmzJB06Bfihrrjjjt02mmnqaqqSi6XSytXrtS0adM0a9Ys/f3vf9c555zj3fb//b//pyuvvFIOhyPkfYX7OfvjH/+o++67L6SP31Rffvmljj/+eD377LMN2r5Nmzbatm2b1qxZo8GDB/vc9uabb6pNmzYqLS0NRasAEFaEJABogSIjI8Pdgl9nnHGGLrvsMp+1jRs36rzzztPYsWP13//+V+3bt5ckRUREKCIiIqT9FBUVKTY2NuzPmd1ul93esn+s7t27V4mJiQ3evnv37qqsrNTbb7/tE5JKS0v1/vvv66KLLtLChQtD0CkAhBdvtwOAZvbGG29o4MCBio6OVnJysq688krt2rXLZ5vaPpO0f/9+/b//9/8UHx+vxMREjR8/Xhs3bpRhGJo3b16Nx9mzZ49Gjx6t4447TqmpqZo6daqqqqokHfq8TmpqqiRpxowZ3rdNTZ8+PaCZ+vfvr9mzZ+vgwYP6y1/+4l2v7TNJa9eu1ahRo9S2bVtFR0era9euuv766xvUV/XnrbZv364LL7xQcXFxuuaaa/w+Z9WeffZZde7cWdHR0TrrrLO0adMmn9tHjBhR61kra836eqvtM0mVlZV65JFH1L17dzkcDnXp0kUPPPCAysrKfLbr0qWLfv3rX2v58uUaPHiw2rRpo27dumnBggW1P+FHKCoq0t13362OHTvK4XCoV69eevrpp2Waprd3wzC0dOlS/ec///H23pC3DV511VV69913fc7SffzxxyouLtbll19e63327Nmj66+/Xunp6XI4HOrXr5/mzJnjs0312zf//ve/67HHHlNGRobatGmjc889V9u2bWvQ3AAQKi37f3kBwFEgPz9f+/btq7FeUVFRY+2xxx7Tgw8+qMsvv1yTJk2Sy+XS888/rzPPPFPr16/3+3/5PR6PLr74Yq1Zs0Y333yzevfurQ8//FDjx4+vdfuqqiqNGjVKQ4YM0dNPP60vvvhCzzzzjLp3766bb75Zqampeumll3TzzTfr0ksv1ZgxYyRJJ598csDPw2WXXaaJEyfqs88+02OPPVbrNnv37tV5552n1NRU3XfffUpMTNTOnTu1aNEiSWpQX5WVlRo1apSGDx+up59+WjExMXX2tWDBAhUUFOjWW29VaWmp/vznP+ucc87Rjz/+qPT09AbPF8hzNmnSJM2fP1+XXXaZ7r77bq1evVqPP/64/ve//+n999/32Xbbtm3e53D8+PGaM2eOrrvuOg0cOFD9+vXz+ximaeo3v/mNli5dqokTJ2rAgAH69NNP9fvf/1579uzRs88+q9TUVP3tb3/TY489psLCQj3++OOSpD59+tQ799VXX+39HFb1WynfeustnXvuuUpLS6uxfW5urk4//XQZhqHbbrtNqampWrx4sSZOnCi3263Jkyf7bP/EE0/IZrNp6tSpys/P18yZM3XNNddo9erV9fYGACFjAgACMnfuXFNSnf/69evn3X7nzp1mRESE+dhjj/nU+fHHH0273e6zPn78eLNz587erxcuXGhKMmfPnu1dq6qqMs855xxTkjl37lyf+0oyH374YZ/HOeWUU8yBAwd6v3a5XKYkc9q0aQ2ad+nSpaYk87333vO7Tf/+/c2kpCTv19XPUWZmpmmapvn++++bkszvvvvOb426+qqe7b777qv1NutzlpmZaUoyo6Ojzd27d3vXV69ebUoy77rrLu/aWWedZZ511ln11qyrt2nTppnWH6sbNmwwJZmTJk3y2W7q1KmmJPPLL7/0rnXu3NmUZH799dfetb1795oOh8O8++67azyW1QcffGBKMh999FGf9csuu8w0DMPctm2bz5zW12RdrNsOGjTInDhxommapnngwAEzKirKnD9/fq2viYkTJ5rt27c39+3b51PvyiuvNBMSEszi4mLTNA+/nvr06WOWlZV5t/vzn/9sSjJ//PHHBvUJAKHA2+0AoIleeOEFff755zX+HXmGYdGiRfJ4PLr88su1b98+77927dqpR48eWrp0qd/H+OSTTxQZGakbbrjBu2az2XTrrbf6vc9NN93k8/UZZ5yhHTt2BDhlwxx33HEqKCjwe3v1mbJ//vOftZ5pa6ibb765wduOHj1axx9/vPfrwYMHa8iQIfr3v/8d8OM3RHX9KVOm+KzffffdkqR//etfPut9+/bVGWec4f06NTVVvXr1qnef/fvf/1ZERITuuOOOGo9jmqYWL14c8AzVrr76ai1atEjl5eX6xz/+oYiICF166aU1tjNNUwsXLtTFF18s0zR9XuejRo1Sfn6+vv/+e5/7TJgwQVFRUd6vq5+DUL9WAaAuvN0OAJpo8ODBGjRoUI31pKQkn7fhbd26VaZp+r2kcl0XHnA6nWrfvn2Nt5adcMIJtW7fpk0b7+dnrP0cOHDA72MEQ2FhoeLi4vzeftZZZ2ns2LGaMWOGnn32WY0YMUKjR4/W1Vdf3eAr4NntdmVkZDS4p9qe7549e+rvf/97g2sEwul0ymaz1dhH7dq1U2JiopxOp896p06datRoyD5zOp3q0KFDjee9+q10Rz5OIK688kpNnTpVixcv1ptvvqlf//rXte5nl8ulgwcP6pVXXtErr7xSa629e/f6fH3k3ElJSZIU8tcqANSFkAQAzcTj8cgwDC1evLjWK74F8w/AhvqKcrWpqKjQli1b6vzbUNV/U+fbb7/Vxx9/rE8//VTXX3+9nnnmGX377bcNeg4cDodstuC+EcIwDO9FDqyqL3TR1NoN4W+f1dZXc2vfvr1GjBihZ555RitWrPB7RbvqizuMGzfO7+fljjzD2pLnBnDsIiQBQDPp3r27TNNU165d1bNnz0bdt3Pnzlq6dKmKi4t9ziY15SpgDf3lvaH+8Y9/qKSkRKNGjap329NPP12nn366HnvsMb311lu65ppr9M4772jSpElB72vr1q011rZs2eJzJbykpKRa39515FmYxvTWuXNneTwebd261ecCCbm5uTp48KA6d+7c4Fr1Pc4XX3yhgoICn7M7P/30k/f2YLj66qs1adIkJSYm6sILL6x1m9TUVMXFxamqqkojR44MyuMCQDjwmSQAaCZjxoxRRESEZsyYUeP/kpumqf379/u976hRo1RRUaFXX33Vu+bxePTCCy8E3E912Dp48GDANapt3LhRkydPVlJSUp2fkzpw4ECN2QcMGCBJ3stiB7MvSfrggw+0Z88e79dr1qzR6tWrdcEFF3jXunfvrp9++kkul8u7tnHjRq1YscKnVmN6qw4Ss2fP9lmfNWuWJOmiiy5q1Bx1PU5VVZXPpdelQ5c9NwzDZ86muOyyyzRt2jS9+OKLPp8hsoqIiNDYsWO1cOHCGpdZl+Tz/AJAS8aZJABoJt27d9ejjz6q+++/Xzt37tTo0aMVFxenzMxMvf/++7rxxhs1derUWu87evRoDR48WHfffbe2bdum3r1766OPPlJeXp6kwM4KRUdHq2/fvnr33XfVs2dPJScn68QTT6zz7XKS9M0336i0tFRVVVXav3+/VqxYoY8++kgJCQl6//331a5dO7/3nT9/vl588UVdeuml6t69uwoKCvTqq68qPj7eGyoC7cufE044QcOHD9fNN9+ssrIyzZ49WykpKbrnnnu821x//fWaNWuWRo0apYkTJ2rv3r16+eWX1a9fP7nd7oCes/79+2v8+PF65ZVXdPDgQZ111llas2aN5s+fr9GjR+vss88OaJ4jXXzxxTr77LP1hz/8QTt37lT//v312Wef6cMPP9TkyZPVvXv3oDxOQkJCg/6O1hNPPKGlS5dqyJAhuuGGG9S3b1/l5eXp+++/1xdffOF9zQJAS0ZIAoBmdN9996lnz5569tlnNWPGDElSx44ddd555+k3v/mN3/tFREToX//6l+68807Nnz9fNptNl156qaZNm6Zhw4apTZs2AfXz2muv6fbbb9ddd92l8vJyTZs2rd4w8txzz0k6dKGJxMRE9enTRzNmzNANN9xQ42IRR6oOCu+8845yc3OVkJCgwYMH680331TXrl2b1Jc/1157rWw2m2bPnq29e/dq8ODB+stf/qL2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QQlAUBGSAABASFSUlchj2NX29DFK6dA56PWL8nLlWrVQbrebkAQgqAhJAAAgpGKSUhWflhGS2q6QVAVwrOPCDQAAAABgQUgCAAAAAAtCEgAAAABYBBSSduzYEew+AAAAAKBFCCgknXDCCTr77LP1xhtvqLS0NNg9AQAAAEDYBBSSvv/+e5188smaMmWK2rVrp9/97ndas2ZNsHsDAAAAgGYXUEgaMGCA/vznPysrK0tz5sxRdna2hg8frhNPPFGzZs2Sy8UFOQEAAAAcnZp04Qa73a4xY8bovffe05NPPqlt27Zp6tSp6tixo6699lplZ2cHq08AAAAAaBZNCklr167VLbfcovbt22vWrFmaOnWqtm/frs8//1xZWVm65JJLgtUnAAAAADQLeyB3mjVrlubOnavNmzfrwgsv1IIFC3ThhRfKZjuUubp27ap58+apS5cuwewVAAAAAEIuoJD00ksv6frrr9d1112n9u3b17pNWlqaXn/99SY1BwAAAADNLaCQtHXr1nq3iYqK0vjx4wMpDwAAAABhE9BnkubOnav33nuvxvp7772n+fPnN7kpAAAAAAiXgELS448/rrZt29ZYT0tL05/+9KcmNwUAAAAA4RJQSPr555/VtWvXGuudO3fWzz//3OSmAAAAACBcAgpJaWlp+uGHH2qsb9y4USkpKU1uCgAAAADCJaALN1x11VW64447FBcXpzPPPFOStGzZMt1555268sorg9ogAACAPxXl5XI6nSGpHR8fr9TU1JDUBtCyBRSSHnnkEe3cuVPnnnuu7PZDJTwej6699lo+kwQAAJpFWWG+dmbu0OQHpsvhcAS9fnJcjN6Y+xpBCTgGBRSSoqKi9O677+qRRx7Rxo0bFR0drZNOOkmdO3cOdn8AAAC1qigrkcewq+3pY5TSIbi/gxTl5cq1aqHcbjchCTgGBRSSqvXs2VM9e/YMVi8AAACNFpOUqvi0jKDXdQW9IoCjRUAhqaqqSvPmzdOSJUu0d+9eeTwen9u//PLLoDQHAAAAAM0toJB05513at68ebrooot04oknyjCMYPcFAAAAAGERUEh655139Pe//10XXnhhsPsBAAAAgLAK6O8kRUVF6YQTTgh2LwAAAAAQdgGFpLvvvlt//vOfZZpmsPsBAAAAgLAK6O12y5cv19KlS7V48WL169dPkZGRPrcvWrQoKM0BAAAAQHMLKCQlJibq0ksvDXYvAAAAABB2AYWkuXPnBrsPAAAAAGgRAvpMkiRVVlbqiy++0F//+lcVFBRIkrKyslRYWBi05gAAAACguQV0JsnpdOr888/Xzz//rLKyMv3f//2f4uLi9OSTT6qsrEwvv/xysPsEAAAAgGYR0JmkO++8U4MGDdKBAwcUHR3tXb/00ku1ZMmSoDUHAAAAAM0toDNJ33zzjVauXKmoqCif9S5dumjPnj1BaQwAAAAAwiGgM0kej0dVVVU11nfv3q24uLgmNwUAAAAA4RJQSDrvvPM0e/Zs79eGYaiwsFDTpk3ThRdeGKzeAAAAAKDZBfR2u2eeeUajRo1S3759VVpaqquvvlpbt25V27Zt9fbbbwe7RwAAAABoNgGFpIyMDG3cuFHvvPOOfvjhBxUWFmrixIm65pprfC7kAAAAAABHm4BCkiTZ7XaNGzcumL0AAAAAQNgFFJIWLFhQ5+3XXnttQM0AAAAAQLgFFJLuvPNOn68rKipUXFysqKgoxcTEEJIAAAAAHLUCurrdgQMHfP4VFhZq8+bNGj58OBduAAAAAHBUCygk1aZHjx564oknapxlAgAAAICjSdBCknToYg5ZWVnBLAkAAAAAzSqgzyR99NFHPl+bpqns7Gz95S9/0bBhw4LSGAAAAACEQ0AhafTo0T5fG4ah1NRUnXPOOXrmmWeC0RcAAAAAhEVAIcnj8QS7DwAAAABoEYL6mSQAAAAAONoFdCZpypQpDd521qxZgTwEAISVy+WS2+0Oel2n06nKisqg1wUAAMETUEhav3691q9fr4qKCvXq1UuStGXLFkVEROjUU0/1bmcYRnC6BIBm5HK5NG7CJOUVFAe9dmlJsXbvyVanioqg1wYAAMERUEi6+OKLFRcXp/nz5yspKUnSoT8wO2HCBJ1xxhm6++67g9okADQnt9utvIJipQ4dq9jk9KDW3rt9k5y75qiqkpAEAEBLFVBIeuaZZ/TZZ595A5IkJSUl6dFHH9V5551HSALQKsQmpys+LSOoNQv35wS1HgAACL6ALtzgdrvlcrlqrLtcLhUUFDS5KQAAAAAIl4BC0qWXXqoJEyZo0aJF2r17t3bv3q2FCxdq4sSJGjNmTLB7BAAAAIBmE9Db7V5++WVNnTpVV199tSp++fCx3W7XxIkT9dRTTwW1QQAAAABoTgGFpJiYGL344ot66qmntH37dklS9+7dFRsbG9TmAAAAAKC5NemPyWZnZys7O1s9evRQbGysTNMMVl8AAAAAEBYBhaT9+/fr3HPPVc+ePXXhhRcqOztbkjRx4kSubAcAAADgqBZQSLrrrrsUGRmpn3/+WTExMd71K664Qp988knQmgMAAACA5hbQZ5I+++wzffrpp8rI8P37IT169JDT6QxKYwAAAAAQDgGdSSoqKvI5g1QtLy9PDoejyU0BAAAAQLgEFJLOOOMMLViwwPu1YRjyeDyaOXOmzj777KA1BwAAAADNLaC3282cOVPnnnuu1q5dq/Lyct1zzz36z3/+o7y8PK1YsSLYPQIAAABAswnoTNKJJ56oLVu2aPjw4brkkktUVFSkMWPGaP369erevXuwewQAAACAZtPoM0kVFRU6//zz9fLLL+sPf/hDKHoCAAAAgLBp9JmkyMhI/fDDD0Fv5IknnpBhGJo8ebJ3rbS0VLfeeqtSUlJ03HHHaezYscrNzQ36YwMAAABAtYDebjdu3Di9/vrrQWviu+++01//+ledfPLJPut33XWXPv74Y7333ntatmyZsrKyNGbMmKA9LgAAAAAcKaALN1RWVmrOnDn64osvNHDgQMXGxvrcPmvWrAbXKiws1DXXXKNXX31Vjz76qHc9Pz9fr7/+ut566y2dc845kqS5c+eqT58++vbbb3X66acH0joAAAAA1KlRIWnHjh3q0qWLNm3apFNPPVWStGXLFp9tDMNoVAO33nqrLrroIo0cOdInJK1bt04VFRUaOXKkd613797q1KmTVq1a5TcklZWVqayszPu12+2WdCjYVVZWSpJsNptsNps8Ho88Ho932+r1qqoqmaZZ73pERIQMw/DWta5LUlVVVYPW7Xa7TNP0WTcMQxERETV69LfOTMzETMGbqfq/bZIiZFmXIVOGbDJlyKx3vUqGJMOnht1meL9PWtcPby9FWGocWrdJMn3WTRnyyJAhUzbLesQv34INP70fuX1jZgqs94bP5K93f7M2Zia7zZDNdujNEw3ZT42dyW4zGtV7Y2ay2wxF+Om9Ma+9+nqXatuvDX/t1bZutxneY7Uprz1/M4XyeIowDn+fORa+7zETMx0rMx15uz+NCkk9evRQdna2li5dKkm64oor9Nxzzyk9Pb0xZbzeeecdff/99/ruu+9q3JaTk6Oo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dp11OVYC15B9Yt0X2dnZmjNnjgzD0NixY+uszbESmO+++87nefv8888lSb/97W8lSXfddZc+/vhjvffee1q2bJmysrI0ZsyYOmsG8jMIh9W1T7KyspSVlaWnn35amzZt0rx58/TJJ59o4sSJ9dZt7Pc6HFbfcSJJN9xwg882M2fOrLMmx0nT1LVPOnbsWONnyYwZM3TcccfpggsuqLNusx8nJoLm3nvvNYcPH+73do/HY7Zr18586qmnvGsHDx40HQ6H+fbbb/u93+DBg81bb73V+3VVVZXZoUMH8/HHHw9O461YffukNmvWrDElmU6n0+8206ZNM/v379/E7o5dDdkv48ePNy+55JJG1eVYCVwgx8oll1xinnPOOXVuw7ESPHfeeafZvXt30+PxmAcPHjQjIyPN9957z3v7//73P1OSuWrVqlrvH+jPIPhn3Se1+fvf/25GRUWZFRUVfmsE8r0O/h25T8466yzzzjvvbPD9OU6Cr77jZMCAAeb1119fZ41wHCecSQqijz76SIMGDdJvf/tbpaWl6ZRTTtGrr77qvT0zM1M5OTkaOXKkdy0hIUFDhgzRqlWraq1ZXl6udevW+dzHZrNp5MiRfu+Dw+rbJ7XJz8+XYRhKTEysc7utW7eqQ4cO6tatm6655hr9/PPPQey8dWvofvnqq6+UlpamXr166eabb9b+/fv91uRYaZrGHiu5ubn617/+1aD/S86x0nTl5eV64403dP3118swDK1bt04VFRU+r/fevXurU6dOfl/vgfwMgn9H7pPa5OfnKz4+Xna7vc5ajfleB//87ZM333xTbdu21Yknnqj7779fxcXFfmtwnARXfcfJunXrtGHDhgb9LGnu44SQFEQ7duzQSy+9pB49eujTTz/VzTffrDvuuEPz58+XJOXk5EiS0tPTfe6Xnp7uve1I+/btU1VVVaPug8Pq2ydHKi0t1b333qurrrpK8fHxfusOGTLE+1aKl156SZmZmTrjjDNUUFAQqlFalYbsl/PPP18LFizQkiVL9OSTT2rZsmW64IILVFVVVWtNjpWmaeyxMn/+fMXFxdX79i6OleD44IMPdPDgQV133XWSDv08iYqKqvE/c+p6vQfyMwj+HblPjrRv3z498sgjuvHGG+us09jvdfCvtn1y9dVX64033tDSpUt1//33629/+5vGjRvntwbHSXDVd5y8/vrr6tOnj371q1/VWScsx0mznrdq5SIjI82hQ4f6rN1+++3m6aefbpqmaa5YscKUZGZlZfls89vf/ta8/PLLa625Z88eU5K5cuVKn/Xf//735uDBg4PYfetU3z6xKi8vNy+++GLzlFNOMfPz8xv1OAcOHDDj4+PN1157rUn9Hisas1+qbd++3ZRkfvHFF7XezrHSNI3dJ7169TJvu+22Rj8Ox0pgzjvvPPPXv/619+s333zTjIqKqrHdaaedZt5zzz211gjkZxD8O3KfWOXn55uDBw82zz//fLO8vLxRdev7Xgf/6ton1ZYsWWJKMrdt21br7RwnwVXXPikuLjYTEhLMp59+utF1m+M44UxSELVv3159+/b1WevTp4/3rSXt2rWTpBpXH8rNzfXedqS2bdsqIiKiUffBYfXtk2oVFRW6/PLL5XQ69fnnn9d5Fqk2iYmJ6tmzp7Zt29bkno8FDd0vVt26dVPbtm39PsccK03TmH3yzTffaPPmzZo0aVKjH4djpfGcTqe++OILn+e7Xbt2Ki8v18GDB322rev1HsjPINSutn1SraCgQOeff77i4uL0/vvvKzIyslG16/teh9rVtU+shgwZIkl+n1+Ok+Cpb5/84x//UHFxsa699tpG126O44SQFETDhg3T5s2bfda2bNmizp07S5K6du2qdu3aacmSJd7b3W63Vq9eraFDh9ZaMyoqSgMHDvS5j8fj0ZIlS/zeB4fVt0+kwwFp69at+uKLL5SSktLoxyksLNT27dvVvn37Jvd8LGjIfjnS7t27tX//fr/PMcdK0zRmn7z++usaOHCg+vfv3+jH4VhpvLlz5yotLU0XXXSRd23gwIGKjIz0eb1v3rxZP//8s9/XeyA/g1C72vaJdOj5PO+88xQVFaWPPvpIbdq0aXTt+r7XoXb+9smRNmzYIEl+n1+Ok+Cpb5+8/vrr+s1vfqPU1NRG126W4yRk56iOQWvWrDHtdrv52GOPmVu3bjXffPNNMyYmxnzjjTe82zzxxBNmYmKi+eGHH5o//PCDeckll5hdu3Y1S0pKvNucc8455vPPP+/9+p133jEdDoc5b94887///a954403momJiWZOTk6zznc0qm+flJeXm7/5zW/MjIwMc8OGDWZ2drb3X1lZmbfOkfvk7rvvNr/66iszMzPTXLFihTly5Eizbdu25t69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O/XUU/Xf//63Rpjyp1evXtq1a5dyc3OVnp4u6dAlwhsrKirK5/NA/pxyyinKycnRgQMHlJSU1OjHqXbyySdryZIlmjFjRkD3P/XUU5WTkyO73a4uXbr43a5nz57q2bOn7rrrLl111VWaO3euNySVlpZq+/btOuWUUwLqAQBQP95uBwBosnvvvVcrV67Ubbfdpg0bNmjr1q368MMP/V644f/+7//UvXt3jR8/Xj/88INWrFihP/7xj5IOn71piC5duqiwsFBLlizRvn37/L4F7ZRTTlHbtm21YsWKxg9ncf/99+u7777TLbfcoh9++EE//fSTXnrpJe3bt69B9x85cqSGDh2q0aNH67PPPtPOnTu1cuVK/eEPf9DatWtVUlKi2267TV999ZWcTqdWrFih7777zueCE99++60cDoeGDh3apFkAAP4RkgAATXbyySdr2bJl2rJli8444wydcsopeuihh9ShQ4dat4+IiNAHH3ygwsJCnXbaaZo0aZL36nYN/eyQJP3qV7/STTfdpCuuuEKpqamaOXOm38ebMGFCk/8Ia8+ePfXZZ59p48aNGjx4sIYOHaoPP/xQdnvD3phhGIb+/e9/68wzz9SECRPUs2dPXXnllXI6nUpPT1dERIT279+va6+9Vj179tTll1+uCy64wOfM1dtvv61rrrkmrH9zCgBaO8M0TTPcTQAAsGLFCg0fPlzbtm1T9+7dg14/JydH/fr10/fff6/OnTsHvX5z2Ldvn3r16qW1a9eqa9eu4W4HAFotQhIAICzef/99HXfccerRo4e2bdumO++8U0lJSVq+fHnIHvODDz5QSkqKzjjjjJA9RihV/xHZK664ItytAECrRkgCAITFggUL9Oijj+rnn39W27ZtNXLkSD3zzDNKSUkJd2sAgGMcIQkAAAAALLhwAwAAAABYEJIAAAAAwIKQBAAAAAAWhCQAAAAAsCAkAQAAAIAFIQkAAAAALAhJAAAAAGBBSAIAAAAAi/8PjflE/OKw8wcAAAAASUVORK5CYII="
          },
          "metadata": {},
          "execution_count": 12
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "#Generate a histogram and a box plot to show the distribution of salaries"
      ],
      "metadata": {
        "id": "XpM3dJL5DQ0D"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# 2. Feed the image back the chart to GPT-4o and ask question about the image\n",
        "image = plot1.png\n",
        "code_interpreter_results = chat(\n",
        "  code_interpreter,\n",
        "  \"Based on what you see, what's name of this distribution? Show me the distribution function\",\n",
        "  image,\n",
        ")\n",
        "\n",
        "code_interpreter.close()\n",
        "\n",
        "print(code_interpreter_results)\n",
        "plot2 = code_interpreter_results[0]\n",
        "print(plot2.raw)\n",
        "plot2"
      ],
      "metadata": {
        "id": "P0-Z55q-szyA"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "DaJQLK0zXLQn"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}